# 作者: YWH
# 2024年12月31日20时32分20秒
# 981474892@qq.com
import os

# def use_rename():
    # os.rename("file3.txt", "file4.txt")#当前目录下直接改
    # # 绝对路径，注意斜杠转义
    # os.rename('C:\\Users\\YWH\\PycharmProjects\\day7\\file4.txt',
    #            'C:\\Users\\YWH\\PycharmProjects\\day7\\file5.txt')
    #  os.rename('dir1\\file1', 'dir1\\file2')#当前目录下直接改
    # os.remove('dir1/file2')#显而易见，删除文件

def use_dir_func():
    file_list = os.listdir('.')#列出当前目录下所有文件和目录
    print(file_list)
    # os.mkdir('dir2')#创建目录
    # os.rmdir('dir1')#删除目录,只能删除空目录
    # print(os.getcwd())#获取当前目录路径，此时前边的创建和删除操作已经完成了，所以要注释掉（避免二次执行）
    os.chdir('dir2')
    file=open('file1','w',encoding='utf8')#进入dir2目录了，直接创建文件就行
    file.close()

def scan_dir(current_path, width):
    """
    深度优先遍历

    """
    file_list = os.listdir(current_path)  # 得到当前文件夹下的所有文件
    for file in file_list:
        print(' ' * width, file)  # 打印文件名,width代表多少个空格
        new_path = current_path + '/' + file
        # 把当前路径和文件名拼接到一起,否则双层目录下文件名不显示
        if os.path.isdir(new_path):
            scan_dir(new_path, width + 4)


if __name__ == '__main__':
    # use_rename()
    # use_dir_fu
    scan_dir('.',0)#最开始的目录不缩进，后边随着递归层数增加每个缩进4个格子